Skip to content

feat(eve): accept dev URL request headers#381

Open
ruiconti wants to merge 1 commit into
mainfrom
rui/dev-url-headers
Open

feat(eve): accept dev URL request headers#381
ruiconti wants to merge 1 commit into
mainfrom
rui/dev-url-headers

Conversation

@ruiconti

Copy link
Copy Markdown
Contributor

What

  • Adds repeatable -H, --header support for eve dev URL targets.
  • Treats https://user:pass@host userinfo as HTTP Basic auth and strips it from the target URL before the TUI connects.
  • Keeps Vercel deployment-protection bypass and trusted-OIDC headers working when a user supplies their own Authorization header.

Fixes #316.

Dev URL credentials

Remote eve dev already knew how to connect to a Vercel-protected target by minting a Vercel OIDC token. Non-Vercel protected routes had no credential path.

The smallest useful API is request headers at the URL-target boundary. That covers bearer tokens, custom routing headers, and auth schemes eve does not need to know about. Basic auth gets the URL form because that is the standard place users try first.

run.ts now parses URL targets through cli/dev/url-target.ts, so the command validates the boundary once and hands the TUI a normalized server URL plus optional headers. Explicit Authorization headers win over URL userinfo, which keeps -H as the override.

Client wiring

The TUI passes those headers into the same ClientOptions path for local and remote targets. For remote Vercel targets, a user-provided Authorization header no longer competes with the client auth object. The dev client keeps that header and still adds Vercel bypass and trusted-OIDC headers when available.

Basic credential encoding moved into an internal helper so URL-userinfo and the client use the same UTF-8 encoding path.

Docs and release

The CLI docs now show the Basic userinfo form and -H for bearer or custom schemes. The changeset marks this as a patch release.

@vercel

vercel Bot commented Jun 27, 2026

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
eve-docs Ready Ready Preview, Comment, Open in v0 Jun 27, 2026 7:50pm

@github-actions

github-actions Bot commented Jun 27, 2026

Copy link
Copy Markdown
Contributor

Bundle + Package Summary: apps/fixtures/weather-agent

Key takeaways

  • No notable deltas vs main (6dc84fc).

Delta vs main (6dc84fc)

Area Metric Baseline Current Delta
Package Packed tarball 3.48 MB 3.48 MB +1.2 kB ⚠️
Package Unpacked publish size 12.64 MB 12.65 MB +4.0 kB ⚠️
Package Installed footprint 52.64 MB 52.64 MB +4.0 kB ⚠️
Package Published files 2371 2373 +2
Package Installed files 5579 5581 +2
Runtime Unique function payloads 2 2 0
Runtime Total function bytes 9.18 MB 9.18 MB -176 B ✅
Runtime Public routes 9 9 0
Changed function payloads vs main (6dc84fc) (2)
Function Status Baseline Current Delta Route changes
functions/__server.func changed 3.46 MB 3.46 MB -144 B ✅ none
functions/.well-known/workflow/v1/flow.func changed 5.72 MB 5.72 MB -32 B ✅ none
Build Metadata
  • Preset: vercel
  • Nitro: nitro@3.0.260610-beta
  • Output directory: apps/fixtures/weather-agent/.vercel/output
  • Build metadata timestamp: 2026-06-27T19:50:31.284Z
  • Route aliases: 9 public, 1 internal (10 total aliases)
  • Vercel routes in config: 10
  • Severity legend: 🔴 dominant/large, 🟠 notable, 🟡 watch, ⚪ small
Package Drill-Down

Package Details

  • Package: eve@0.16.2
  • Package directory: packages/eve
  • Tarball: 3.48 MB (eve-0.16.2.tgz)
  • Unpacked payload: 12.65 MB across 2373 published files
  • Installed footprint: 52.64 MB across 5581 installed files
  • Installed root package: 11.37 MB
  • Installed dependencies: 41.27 MB
  • Runtime dependencies: 1
  • Peer dependencies: 12 (11 optional)

Installed footprint is measured from an isolated temporary npm install of the packed tarball.

Heavy installed dependencies

  • @rolldown/binding-linux-x64-gnu: 20.26 MB (38.5%)
  • eve: 11.37 MB (21.6%)
  • ai: 6.27 MB (11.9%)
  • zod: 5.04 MB (9.6%)
  • nitro: 2.41 MB (4.6%)
Publish payload breakdown
Published file size
🟠 dist/src/compiled/experimental-ai-sdk-code-mo... [####....................] 1.51 MB 11.9%
🟡 dist/src/compiled/@workflow/core/runtime.js      [##......................] 788.4 kB 6.2%
🟡 dist/src/compiled/@vercel/sandbox/index.js       [##......................] 632.0 kB 5.0%
🟡 dist/src/compiled/@chat-adapter/slack/index.js   [#.......................] 438.4 kB 3.5%
🟡 dist/src/compiled/_chunks/workflow/attribute-... [#.......................] 371.6 kB 2.9%
🔴 Other published files                            [########################] 8.91 MB 70.5%
Installed footprint breakdown
Installed package size
🔴 @rolldown/binding-linux-x64-gnu [########################] 20.26 MB 38.5%
🔴 eve                             [#############...........] 11.37 MB 21.6%
🔴 ai                              [#######.................] 6.27 MB 11.9%
🔴 zod                             [######..................] 5.04 MB 9.6%
🟠 nitro                           [###.....................] 2.41 MB 4.6%
🟡 rolldown                        [#.......................] 771.7 kB 1.5%
🔴 Other installed packages        [########................] 6.52 MB 12.4%
Runtime dependencies (1)
Package Range Notes
nitro 3.0.260610-beta
Peer dependencies (12)
Package Range Notes
@opentelemetry/api ^1.0.0 optional peer
@sveltejs/kit ^2.0.0 optional peer
ai catalog:
braintrust ^3.0.0 optional peer
just-bash ^3.0.0 optional peer
microsandbox ^0.5.0 optional peer
next ^16.0.0 optional peer
nuxt ^4.0.0 optional peer
react ^19.0.0 optional peer
svelte ^5.0.0 optional peer
vite ^8.0.0 optional peer
vue ^3.5.0 optional peer
Function Drill-Down

Payload Size Graph

Unique function payload size and share of total
🔴 functions/.well-known/workflow/v1/flow.func     [########################] 5.72 MB 62.3%
🟠 functions/__server.func                         [###############.........] 3.46 MB 37.7%

Top Function Payloads

🟠 functions/.well-known/workflow/v1/flow.func • 1 public route • 5.72 MB
Metric Value
Public routes /.well-known/workflow/v1/flow
Runtime nodejs24.x
Handler index.mjs
Payload 5.72 MB
Function files 5.72 MB across 26 files
Traced dependencies 0 B
Signal 🟠 Bundled file __eve_nitro_handler__.mjs is 1.96 MB (34.2%)

🟠 🔎 Dependency Analysis

📦 Bundled files:

Bundled file size
🟠 __eve_nitro_handler__.mjs              [########################] 1.96 MB 34.2%
🟠 _chunks/runtime.mjs                    [############............] 975.4 kB 17.1%
🟡 _chunks/sandbox.mjs                    [#########...............] 766.0 kB 13.4%
🟡 _chunks/attribute-changes-DUxG-Gic.mjs [######..................] 473.2 kB 8.3%
🟡 _libs/@ai-sdk/gateway+[...].mjs        [#####...................] 413.5 kB 7.2%
🟠 Other bundled files                    [##############..........] 1.14 MB 19.9%

🧾 Vercel Config

{
  "handler": "index.mjs",
  "launcherType": "Nodejs",
  "shouldAddHelpers": false,
  "supportsResponseStreaming": true,
  "runtime": "nodejs24.x",
  "environment": {
    "NODE_OPTIONS": "--experimental-require-module"
  },
  "maxDuration": "max",
  "experimentalTriggers": [
    {
      "type": "queue/v2beta",
      "topic": "__eve776561746865722d6167656e74_wkf_workflow_*",
      "consumer": "default",
      "retryAfterSeconds": 5,
      "initialDelaySeconds": 0
    }
  ]
}

🟠 functions/__server.func • 8 public routes, 1 internal alias • 3.46 MB
Metric Value
Public routes /
/eve/v1/callback/[token]
/eve/v1/connections/[name]/callback/[token]
/eve/v1/health
/eve/v1/info
/eve/v1/session
/eve/v1/session/[sessionId]
/eve/v1/session/[sessionId]/stream
Internal aliases /__server
Runtime nodejs24.x
Handler index.mjs
Payload 3.46 MB
Function files 3.46 MB across 19 files
Traced dependencies 0 B
Signal 🟠 Bundled file index.mjs is 990.7 kB (28.6%)

🟠 🔎 Dependency Analysis

📦 Bundled files:

Bundled file size
🟠 index.mjs                              [########################] 990.7 kB 28.6%
🟠 _chunks/runtime.mjs                    [#####################...] 883.8 kB 25.5%
🟠 _chunks/sandbox.mjs                    [###################.....] 766.0 kB 22.1%
🟡 _chunks/attribute-changes-DUxG-Gic.mjs [###########.............] 448.9 kB 13.0%
⚪ _libs/zod.mjs                          [###.....................] 114.2 kB 3.3%
🟡 Other bundled files                    [######..................] 255.4 kB 7.4%

🧾 Vercel Config

{
  "handler": "index.mjs",
  "launcherType": "Nodejs",
  "shouldAddHelpers": false,
  "supportsResponseStreaming": true,
  "runtime": "nodejs24.x"
}

Comment thread packages/eve/src/services/dev-client/client-options.ts
Signed-off-by: Rui Conti <ruiconti@gmail.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

dev: eve dev <remote-url> can't authenticate to non-Vercel-OIDC self-hosted agents

1 participant